home *** CD-ROM | disk | FTP | other *** search
/ Mac Power 1997 December / MACPOWER-1997-12.ISO.7z / MACPOWER-1997-12.ISO / MacPowerオリジナル / Edutainment World / チャンプジム for DEMO / DIR / DataAccess.cst / 00003_Script_FileSub Script < prev    next >
Text File  |  1997-09-29  |  21KB  |  851 lines

  1. --'97.8.7 10:00 Update
  2.  
  3. global gWorkTable
  4.  
  5. global gTraningArry1    --ノ~ノbノgëシヌø
  6. global gTraningArry2    --ノpノìノ`ノìノOノ{ナ[ノã
  7. global gTraningArry3    --ノTノìノhノoノbノO
  8. global gTraningArry4    --ノ酣[ノhノ霰[ノN
  9. global gTraningArry5    --ノXノLノbノsノìノO
  10. global gTraningArry6    --ノVノノノhノE
  11.  
  12.  
  13. on test2
  14.   set fname = CDpath() & "MASTER_1"
  15.   set res = fcOpenR(fname)
  16.   if res <> 0 then
  17.     alert "ノ}ノXノ^ナ[ノtノ@ノCノ翩夘嵒ャヌゥヌヒヌ局™ヌメ"
  18.     exit
  19.   end if
  20.   set gWorkTable = fcRead()
  21.   fcClose()
  22.   
  23. end
  24.  
  25.  
  26. --*****************************************************
  27. --ナ@ナ@íP袁ノtノ@ノCノ胝コ醯êィ
  28. --************************
  29. on GetFIleName user,country,traning
  30.   
  31.   set fname = ""
  32.   set fname = NumToChar(user+48)
  33.   set fname = fname & GetCountryNo(country)
  34.   set fname = fname &NumToChar(traning+48)
  35.   return path() & "USER" & string(user) & delimita() & fname
  36.   
  37. end
  38.  
  39. --*****************************************************
  40. --ナ@ナ@ノJノìノgノ菁[î醍ワ鯡ì貲iïð鴕óメヌミヌオヌƒï舵ンナj
  41. --************************
  42. on GetCountryNo country
  43.   
  44.   if stringP(country) then
  45.     case country of
  46.       "JPN":  set rbuf = "1"
  47.       "CHI":  set rbuf = "2"
  48.       "IND":  set rbuf = "3"
  49.       "SPN":  set rbuf = "4"
  50.       "AUS":  set rbuf = "5"
  51.       "USA":  set rbuf = "6"
  52.       "TRE":  set rbuf = "9"
  53.     end case
  54.   else
  55.     set rbuf = string(country)
  56.   end if
  57.   
  58.   return rbuf
  59.   
  60. end
  61.  
  62. --*****************************************************
  63. --ナ@ナ@ノfノ菲~ノ^鯡ìæ
  64. --************************
  65. on delimita
  66.   
  67.   if the machineType = 256 then
  68.     set rbuf="¥"  --Windows
  69.   else
  70.     set rbuf=":"  --Macintosh
  71.   end if
  72.   
  73.   return rbuf
  74.   
  75. end
  76.  
  77. --*****************************************************
  78. --ナ@ナ@ノpノX鯡ìæ
  79. --************************
  80. on path
  81.   global HomePath
  82.   set rbuf = HomePath & "DATA" & delimita()
  83.   
  84.   return rbuf
  85.   
  86. end
  87.  
  88. --*****************************************************
  89. --ナ@ナ@ヌbヌcナ|ヌqヌnヌlノpノX鯡ìæ
  90. --************************
  91. on CDpath
  92.   
  93.   return the pathName
  94.   
  95. end
  96.  
  97. --*****************************************************
  98. --  ノ}ノXノ^ナ[腴ヌ
  99. --****************************
  100. on OpenMaster
  101.   
  102.   set fname = CDpath() & "MASTER_" & string(1)
  103.   set res = fcOpenR(fname)
  104.   if res <> 0 then
  105.     alert "ノ}ノXノ^ナ[ノtノ@ノCノ翩夘嵒ャヌゥヌヒヌ局™ヌメ"
  106.     exit
  107.   end if
  108.   set gWorkTable = fcRead()
  109.   fcClose()
  110.   
  111.   repeat with i=2 to 6
  112.     set fname = CDpath() & "MASTER_" & string(i)
  113.     set res = fcOpenR(fname)
  114.     if res <> 0 then
  115.       alert "ノ}ノXノ^ナ[ノtノ@ノCノ翩夘嵒ャヌゥヌヒヌ局™ヌメ"
  116.       exit
  117.     end if
  118.     set gWorkTable = gWorkTable & numToChar(13) & fcRead()
  119.     fcClose()
  120.   end repeat
  121.   
  122. end
  123.  
  124.  
  125.  
  126. --*****************************************************
  127. --  íP袁ノ菲Xノg醯êィ
  128. --****************************
  129. on CreateWords user
  130.     
  131.   puppetSprite 43,true
  132.   global count
  133.   set count = 0
  134.   
  135.   UpdateRandomSeed()
  136.   
  137.   repeat with c=1 to 6
  138.     TraningInit(c)
  139.     
  140.     DataWrite(user,c,1)
  141.     DefaultRes(user,c,1,count(gTraningArry1)/3)
  142.     
  143.     DataWrite(user,c,2)
  144.     DefaultRes(user,c,2,count(gTraningArry2)/4)
  145.     
  146.     DataWrite(user,c,3)
  147.     DefaultRes(user,c,3,count(gTraningArry3)/4)
  148.     
  149.     DataWrite(user,c,4)
  150.     DefaultRes(user,c,4,count(gTraningArry4)/5)
  151.     
  152.     DataWrite(user,c,5)
  153.     DefaultRes(user,c,5,count(gTraningArry5)/4)
  154.     
  155.     DataWrite(user,c,6)
  156.     DefaultRes(user,c,6,count(gTraningArry6)/4)
  157.     progress
  158.   end repeat
  159.   
  160.    
  161. end
  162.  
  163.  
  164. --*****************************************************
  165. --ナ@ナ@ノgノ蠻[ノjノìノOï ëニêエノ菲Xノg醯êィ
  166. --************************************
  167. on TraningInit no
  168.   
  169.   set the itemDelimiter = numtoChar(9)
  170.   
  171.   set fname = CDpath() & "MASTER_" & string(no)
  172.   set res = fcOpenR(fname)
  173.   if res <> 0 then
  174.     alert "ノ}ノXノ^ナ[ノtノ@ノCノ翩夘嵒ャヌゥヌヒヌ局™ヌメ"
  175.     exit
  176.   end if
  177.   set gWorkTable = fcRead()
  178.   fcClose()
  179.   
  180.   set gTraningArry1 = []
  181.   set gTraningArry2 = []
  182.   set gTraningArry3 = []
  183.   set gTraningArry4 = []
  184.   set gTraningArry5 = []
  185.   set gTraningArry6 = []
  186.   
  187.   set warry1 = [:]
  188.   set warry2 = [:]
  189.   set warry3 = [:]
  190.   set warry4 = [:]
  191.   set warry5 = [:]
  192.   set warry6 = [:]
  193.   set lineno = 1
  194.   set work = ""
  195.   
  196.   set tblno = random(6)
  197.   
  198.   repeat while 1
  199.     global count
  200.     set count = count+1
  201.     if (count mod 4) = 0 then progress
  202.     
  203.     set linecnt = the number of lines in gWorkTable  
  204.     set wline = random(linecnt)
  205.     
  206.     set flagbuf = item  8 of line wline of gWorkTable
  207.     
  208.     set arry = []
  209.     if char 1 of flagbuf = "1" then add arry,1
  210.     if char 2 of flagbuf = "1" then add arry,2
  211.     if char 3 of flagbuf = "1" then add arry,3
  212.     if char 4 of flagbuf = "1" then add arry,4
  213.     if char 5 of flagbuf = "1" then add arry,5
  214.     if char 6 of flagbuf = "1" then add arry,6
  215.     
  216.     set pos = getAt(arry,1)
  217.     case pos of
  218.       1: set throw1 = count(warry1)
  219.         set tblno = 1
  220.       2: set throw1 = count(warry2)
  221.         set tblno = 2
  222.       3: set throw1 = count(warry3)
  223.         set tblnos = 3
  224.       4: set throw1 = count(warry4)
  225.         set tblno = 4
  226.       5: set throw1 = count(warry5)
  227.         set tblno = 5
  228.       6: set throw1 = count(warry6) 
  229.         set tblno = 6
  230.     end case
  231.     repeat with j = 2 to count(arry)
  232.       set pos = getAt(arry,j)
  233.       case pos of
  234.         1: set throw2 = count(warry1)
  235.           set tblno2 = 1
  236.         2: set throw2 = count(warry2)
  237.           set tblno2 = 2
  238.         3: set throw2 = count(warry3)
  239.           set tblno2 = 3
  240.         4: set throw2 = count(warry4)
  241.           set tblno2 = 4
  242.         5: set throw2 = count(warry5)
  243.           set tblno2 = 5
  244.         6: set throw2 = count(warry6)
  245.           set tblno2 = 6
  246.       end case
  247.       if throw1 > throw2 then
  248.         set throw1 = throw2
  249.         set tblno = tblno2
  250.       end if
  251.     end repeat
  252.     
  253.     case tblno of
  254.       1:  addProp warry1,item 2 of line wline of gWorkTable,lineno
  255.       2:  addProp warry2,item 2 of line wline of gWorkTable,lineno
  256.       3:  addProp warry3,item 2 of line wline of gWorkTable,lineno
  257.       4:  addProp warry4,item 2 of line wline of gWorkTable,lineno
  258.       5:  addProp warry5,item 2 of line wline of gWorkTable,lineno
  259.       6:  addProp warry6,item 2 of line wline of gWorkTable,lineno
  260.     end case
  261.     
  262.     set work =  work & line wline of gWorkTable & numToChar(13)
  263.     if linecnt = 1 then exit repeat  
  264.     delete line wline of gWorkTable
  265.     
  266.     set lineno = lineno + 1
  267.     
  268.   end repeat
  269.   
  270.   
  271.   set gWorkTable = work
  272.   
  273.   sort(warry1) 
  274.   repeat with i=1 to count(warry1)
  275.     DevideWord(1,getAt(warry1,i))
  276.   end repeat
  277.   sort(warry2)
  278.   repeat with i=1 to count(warry2)
  279.     DevideWord(2,getAt(warry2,i))
  280.   end repeat
  281.   sort(warry3)
  282.   repeat with i=1 to count(warry3)
  283.     DevideWord(3,getAt(warry3,i))
  284.   end repeat
  285.   sort(warry4)
  286.   repeat with i=1 to count(warry4)
  287.     DevideWord(4,getAt(warry4,i))
  288.   end repeat
  289.   sort(warry5)
  290.   repeat with i=1 to count(warry5)
  291.     DevideWord(5,getAt(warry5,i))
  292.   end repeat
  293.   sort(warry6)
  294.   repeat with i=1 to count(warry6)
  295.     DevideWord(6,getAt(warry6,i))
  296.   end repeat
  297.   
  298.   
  299. end
  300.  
  301. --*****************************************************
  302. --  ノfナ[ノ^齏ヌエ鍄ヌ›
  303. --****************************
  304. on DataWrite user,country,traning
  305.   
  306.   set fname = GetFIleName(user,country,traning)
  307.   set res = fcOpen(fname)
  308.   if res <> 0 then
  309.     alert "ノIナ[ノvノìノGノ簀["
  310.     exit
  311.   end if
  312.   case traning of
  313.     1: set res = fcWrite(ArryToString(gTraningArry1))
  314.     2: set res = fcWrite(ArryToString(gTraningArry2))
  315.     3: set res = fcWrite(ArryToString(gTraningArry3))
  316.     4: set res = fcWrite(ArryToString(gTraningArry4))
  317.     5: set res = fcWrite(ArryToString(gTraningArry5))
  318.     6: set res = fcWrite(ArryToString(gTraningArry6))
  319.   end case
  320.   fcClose()
  321.   
  322. end
  323.  
  324.  
  325.  
  326. --****************************
  327. --  ñろヒêîî壊カ
  328. --****************
  329. on Qratio cnt
  330.   
  331.   set arry = []
  332.   
  333.   add arry,integer(cnt * 0.12)
  334.   add arry,integer(cnt * 0.13)
  335.   add arry,integer(cnt * 0.15)
  336.   add arry,integer(cnt * 0.18)
  337.   add arry,integer(cnt * 0.20)
  338.   
  339.   set total = 0
  340.   repeat with i=1 to 5
  341.     set total = total + getAt(arry,i)
  342.   end repeat
  343.   add arry,(cnt - total)
  344.   
  345.   return arry
  346.   
  347. end
  348.  
  349.  
  350. --*****************************************************
  351. --  íP袁ï夘リ
  352. --****************************
  353. on DevideWord traning,wline
  354.   
  355.   case traning of
  356.     1:
  357.       add gTraningArry1,item 7 of line wline of gWorkTable  --í ヌオî醍ワ
  358.       add gTraningArry1,PrintUsing(item 1 of line wline of gWorkTable)  --â™î醍ワ
  359.       add gTraningArry1,item 2 of line wline of gWorkTable  --ノXノyノã       
  360.     2:
  361.       add gTraningArry2,item 7 of line wline of gWorkTable  --í ヌオî醍ワ
  362.       add gTraningArry2,PrintUsing(item 1 of line wline of gWorkTable)  --â™î醍ワ
  363.       add gTraningArry2,item 2 of line wline of gWorkTable  --ノXノyノã
  364.       add gTraningArry2,item 3 of line wline of gWorkTable  --ìイñ{袁ñロ
  365.     3:
  366.       add gTraningArry3,item 7 of line wline of gWorkTable  --í ヌオî醍ワ
  367.       add gTraningArry3,PrintUsing(item 1 of line wline of gWorkTable)  --â™î醍ワ
  368.       add gTraningArry3,item 2 of line wline of gWorkTable  --ノXノyノã
  369.       
  370.       set buf = item 4 of line wline of gWorkTable
  371.       set buf = buf & "," & item 5 of line wline of gWorkTable
  372.       set buf = buf & "," & item 6 of line wline of gWorkTable
  373.       add gTraningArry3,buf  --ノAノNノZノìノg燿íu
  374.     4:
  375.       add gTraningArry4,item 7 of line wline of gWorkTable  --í ヌオî醍ワ
  376.       add gTraningArry4,PrintUsing(item 1 of line wline of gWorkTable)  --â™î醍ワ
  377.       add gTraningArry4,item 2 of line wline of gWorkTable  --ノXノyノã
  378.       add gTraningArry4,item 3 of line wline of gWorkTable  --ìイñ{袁ñロ
  379.       add gTraningArry4,item 9 of line wline of gWorkTable  --苟犢ヌ「ópíP袁
  380.     5:
  381.       add gTraningArry5,item 7 of line wline of gWorkTable  --í ヌオî醍ワ
  382.       add gTraningArry5,PrintUsing(item 1 of line wline of gWorkTable)  --â™î醍ワ
  383.       add gTraningArry5,item 2 of line wline of gWorkTable  --ノXノyノã
  384.       add gTraningArry5,item 3 of line wline of gWorkTable  --ìイñ{袁ñロ
  385.     6:
  386.       add gTraningArry6,item 7 of line wline of gWorkTable  --í ヌオî醍ワ
  387.       add gTraningArry6,PrintUsing(item 1 of line wline of gWorkTable)  --â™î醍ワ
  388.       add gTraningArry6,item 2 of line wline of gWorkTable  --ノXノyノã
  389.       add gTraningArry6,item 3 of line wline of gWorkTable  --ìイñ{袁ñロ
  390.   end case
  391.   
  392. end
  393.  
  394.  
  395.  
  396. --*****************************************************
  397. --  裙笄ノtノ@ノCノ肛粭イ筱
  398. --****************************
  399. on DefaultRes user,country,traning,listmax
  400.   
  401.   set arry = []
  402.   
  403.   repeat with i=1 to listmax
  404.     add arry,"3"
  405.   end repeat
  406.   
  407.   set fname = GetFIleName(user,country,traning) & "RES"
  408.   set res = fcOpen(fname)
  409.   if res <> 0 then
  410.     alert "ノIナ[ノvノìノGノ簀["
  411.     exit
  412.   end if
  413.   set res = fcWrite(ArryToString(arry))
  414.   fcClose()
  415.   
  416. end
  417.  
  418.  
  419. --*****************************************************
  420. --ナ@ナ@犇ヌ「ノgノ蠻[ノjノìノOノ菲Xノg醯êィナiノ酣[ノhノ霰[ノNナj
  421. --************************************************
  422. on GetBadRoadworkWords user,country
  423.   
  424.   set arry =[]
  425.   
  426.   set fname = GetFIleName(user,country,4) & "BAD"
  427.   set res = fcOpenR(fname)
  428.   if res <> 0 then
  429.     return arry
  430.     exit
  431.   end if
  432.   set arry = StringToArry(fcRead())
  433.   fcClose()
  434.   
  435.   return arry
  436.   
  437. end
  438.  
  439.  
  440. --*****************************************************
  441. --ナ@ナ@犇ヌ「ノgノ蠻[ノjノìノOノ菲Xノg醯êィナiノXノLノbノsノìノOナj
  442. --************************************************
  443. on GetBadSkippingWords user,country
  444.   put the timer
  445.   set the itemDelimiter = numtoChar(9)
  446.   
  447.   OpenMaster()
  448.   
  449.   set cnt = the number of lines in gWorkTable
  450.   set gTraningArry5 = []
  451.   repeat with i=1 to cnt
  452.     if char 5 of item 8 of line i of gWorkTable = "1" then
  453.       add gTraningArry5,i
  454.     end if
  455.   end repeat
  456.   
  457.   set fname = GetFIleName(user,country,5)
  458.   set res = fcOpenR(fname)
  459.   if res <> 0 then
  460.     alert "ノgノ蠻[ノjノìノOノtノ@ノCノ翩夘嵒ャヌゥヌヒヌ局™ヌメ"
  461.     exit
  462.   end if
  463.   set traning = fcRead()
  464.   fcClose()
  465.   
  466.   set arry1 = []
  467.   set linecnt = the number of lines in traning / 4
  468.   
  469.   set cnt = 1
  470.   repeat while 1
  471.     
  472.     set pos = (cnt-1) * 4 + 3
  473.     set qword = line pos of traning
  474.     
  475.     set ptr = random(count(gTraningArry5))
  476.     set wline = getAt(gTraningArry5,ptr)
  477.     set badword = item 2 of line wline of gWorkTable
  478.     if qword <> badword then
  479.       add arry1,item 7 of line wline of gWorkTable  --í ヌオî醍ワ
  480.       add arry1,PrintUsing(item 1 of line wline of gWorkTable)  --â™î醍ワ
  481.       add arry1,item 2 of line wline of gWorkTable  --ノXノyノã
  482.       add arry1,item 3 of line wline of gWorkTable  --ìイñ{袁ñロ
  483.       
  484.       set cnt = cnt + 1
  485.       if cnt > (linecnt*3) then exit repeat
  486.       
  487.     end if
  488.     
  489.     deleteAt(gTraningArry5,ptr)
  490.     
  491.   end repeat
  492.   
  493.   set arry2 = []
  494.   set cnt = 1
  495.   repeat while 1
  496.     
  497.     set pos = (cnt-1) * 4 + 3
  498.     set qword = line pos of traning
  499.     
  500.     set ptr = random(count(gTraningArry5))
  501.     set wline = getAt(gTraningArry5,ptr)
  502.     set badword = item 2 of line wline of gWorkTable
  503.     if qword <> badword then
  504.       --      add arry2,item 7 of line wline of gWorkTable  --í ヌオî醍ワ
  505.       add arry2,PrintUsing(item 1 of line wline of gWorkTable)  --â™î醍ワ
  506.       --      add arry2,item 2 of line wline of gWorkTable  --ノXノyノã
  507.       --      add arry2,item 3 of line wline of gWorkTable  --ìイñ{袁ñロ
  508.       
  509.       set cnt = cnt + 1
  510.       if cnt > (linecnt*4) then exit repeat
  511.       
  512.     end if
  513.     
  514.     deleteAt(gTraningArry5,ptr)
  515.     
  516.   end repeat
  517.   
  518.   set arry2ptr = 1
  519.   set arry = []
  520.   repeat with i=1 to count(arry1)
  521.     if (i mod 4) = 2 then
  522.       add arry,getAt(arry2,arry2ptr)
  523.       set arry2ptr = arry2ptr + 1
  524.     else
  525.       add arry,getAt(arry1,i)
  526.     end if
  527.   end repeat
  528.   put the timer
  529.   return arry  
  530.   
  531. end
  532.  
  533.  
  534.  
  535. --*****************************************************
  536. --ナ@ナ@犇ヌ「ノgノ蠻[ノjノìノOノ菲Xノg醯êィナiノVノノノhノEナj
  537. --************************************************
  538. on GetBadShadowWords user,country
  539.   
  540.   set the itemDelimiter = numtoChar(9)
  541.   
  542.   OpenMaster()
  543.   
  544.   set cnt = the number of lines in gWorkTable
  545.   set gTraningArry6 = []
  546.   repeat with i=1 to cnt
  547.     if char 6 of item 8 of line i of gWorkTable = "1" then
  548.       add gTraningArry6,i
  549.     end if
  550.   end repeat
  551.   
  552.   set fname = GetFIleName(user,country,6)
  553.   set res = fcOpenR(fname)
  554.   if res <> 0 then
  555.     alert "ノgノ蠻[ノjノìノOノtノ@ノCノ翩夘嵒ャヌゥヌヒヌ局™ヌメ"
  556.     exit
  557.   end if
  558.   set traning = fcRead()
  559.   fcClose()
  560.   
  561.   set arry = []
  562.   set linecnt = the number of lines in traning / 4
  563.   
  564.   set cnt = 1
  565.   repeat while 1
  566.     
  567.     set pos = (cnt-1) * 4 + 3
  568.     set qword = line pos of traning
  569.     
  570.     set ptr = random(count(gTraningArry6))
  571.     set wline = getAt(gTraningArry6,ptr)
  572.     set badword = item 2 of line wline of gWorkTable
  573.     if qword <> badword then
  574.       add arry,item 7 of line wline of gWorkTable  --í ヌオî醍ワ
  575.       add arry,PrintUsing(item 1 of line wline of gWorkTable)  --â™î醍ワ
  576.       add arry,item 2 of line wline of gWorkTable  --ノXノyノã
  577.       add arry,item 3 of line wline of gWorkTable  --ìイñ{袁ñロ
  578.       
  579.       set cnt = cnt + 1
  580.       if cnt > (linecnt*4) then exit repeat
  581.       
  582.     end if
  583.     
  584.     deleteAt(gTraningArry6,ptr)
  585.     
  586.   end repeat
  587.   
  588.   return arry
  589.   
  590. end
  591.  
  592.  
  593. --*****************************************************
  594. --ナ@ナ@ñろヒ鯡ìæ
  595. --********************************
  596. on GetWords user,country,traning
  597.   
  598.   set fname = GetFIleName(user,country,traning)
  599.   set res = fcOpenR(fname)
  600.   if res <> 0 then
  601.     alert "ノgノ蠻[ノjノìノOノtノ@ノCノ翩夘嵒ャヌゥヌヒヌ局™ヌメ"
  602.     exit
  603.   end if
  604.   set arry = StringToArry(fcRead())
  605.   fcClose()
  606.   
  607.   return arry
  608.   
  609. end
  610.  
  611.  
  612. --*****************************************************
  613. --ナ@ナ@裙笄鯡ìæ
  614. --********************************
  615. on GetResult user,country,traning
  616.   
  617.   set arry =[]
  618.   
  619.   set fname = GetFIleName(user,country,traning) & "RES"
  620.   set res = fcOpenR(fname)
  621.   if res <> 0 then
  622.     return arry
  623.     exit
  624.   end if
  625.   set arry = StringToArry(fcRead())
  626.   fcClose()
  627.   
  628.   return arry
  629.   
  630. end
  631.  
  632. --*****************************************************
  633. --ナ@ナ@裙笄ï\ëð
  634. --********************************
  635. on SetResult user,country,traning,arry
  636.   
  637.   set fname = GetFIleName(user,country,traning) & "RES"
  638.   set res = fcOpen(fname)
  639.   if res <> 0 then
  640.     alert "ノIナ[ノvノìノGノ簀["
  641.     exit
  642.   end if
  643.   set res = fcWrite(ArryToString(arry))
  644.   fcClose()
  645.   
  646. end
  647.  
  648.  
  649.  
  650. --*****************************************************
  651. --ナ@ナ@裙笄鯡ì貲iëSíP袁ナj
  652. --********************************
  653. on GetResultAll user
  654.   
  655.   set arry = []
  656.   set codearry = []
  657.   set sortarry = []
  658.   set resarry = []
  659.   
  660.   set wk = ""
  661.   set buf = ""
  662.   
  663.   repeat with country = 1 to 6
  664.     repeat with traning = 1 to 6     
  665.       
  666.       set fname = GetFIleName(user,country,traning)
  667.       set res = fcOpenR(fname)
  668.       if res <> 0 then
  669.         alert "ノgノ蠻[ノjノìノOノtノ@ノCノ翩夘嵒ャヌゥヌヒヌ局™ヌメ"
  670.         exit
  671.       end if
  672.       set wk = fcRead()
  673.       fcClose()   
  674.       
  675.       set fname = GetFIleName(user,country,traning) & "RES"
  676.       set res = fcOpenR(fname)
  677.       if res = 0 then
  678.         if length(buf) <> 0 then set buf = buf & numToChar(13)
  679.         set buf = buf & fcRead()
  680.         fcClose()
  681.       else
  682.         
  683.       end if
  684.       
  685.       if traning = 1 then
  686.         repeat with i=1 to the number of lines in wk
  687.           if (i mod 3) = 1 then
  688.             add codearry,value(line i of wk)
  689.             add sortarry,value(line i of wk)
  690.           end if
  691.           
  692.         end repeat
  693.       else if traning = 4 then
  694.         repeat with i=1 to the number of lines in wk
  695.           if (i mod 5) = 1 then
  696.             add codearry,value(line i of wk)
  697.             add sortarry,value(line i of wk)
  698.           end if
  699.           
  700.         end repeat
  701.       else
  702.         repeat with i=1 to the number of lines in wk
  703.           if (i mod 4) = 1 then
  704.             add codearry,value(line i of wk)
  705.             add sortarry,value(line i of wk)
  706.           end if
  707.         end repeat
  708.       end if
  709.       
  710.     end repeat
  711.   end repeat
  712.   
  713.   set resarry = StringToArry(buf)
  714.   
  715.   sort(sortarry)
  716.   repeat with i=1 to count(codearry)
  717.     add arry, "3"
  718.   end repeat
  719.   
  720.   repeat with i=1 to count(codearry)
  721.     set code = getAt(codearry,i)
  722.     set pos = findPos(sortarry,code)
  723.     setAt( arry, pos, GetAt(resarry,i))
  724.   end repeat
  725.   
  726.   return arry
  727.   
  728. end
  729.  
  730.  
  731. --*****************************************************
  732. --ナ@ナ@ノワナ[ノUナ[勒ïメ鯡ìæ
  733. --********************************
  734. on GetUserInfo user
  735.   
  736.   set arry = []
  737.   set fname = path() & "USER" & string(user) & delimita() & "USER" & string(user)
  738.   set res = fcOpenR(fname)
  739.   if res <> 0 then
  740.     return arry
  741.     exit
  742.   end if
  743.   set arry = StringToArry(fcRead())
  744.   fcClose()
  745.   
  746.   return arry
  747.   
  748. end
  749.  
  750. --*****************************************************
  751. --ナ@ナ@ノワナ[ノUナ[勒ïメï\ëð
  752. --********************************
  753. on SetUserInfo user,arry
  754.   
  755.   set fname = path() & "USER" & string(user) & delimita() & "USER" & string(user)
  756.   set res = fcOpen(fname)
  757.   if res <> 0 then
  758.     alert "ノワナ[ノUナ[ノtノ@ノCノ翹Iナ[ノvノìノGノ簀["
  759.     exit
  760.   end if
  761.   set res = fcWrite(ArryToString(arry))
  762.   fcClose()
  763.   
  764. end
  765.  
  766.  
  767.  
  768.  
  769.  
  770. --*****************************************************
  771. --ナ@ナ@鬩鯆ノgノ衙fナ[ノ^
  772. --********************************
  773. on IndTraning user,traning,qcnt
  774.   
  775.   set the itemDelimiter = numtoChar(9)
  776.   
  777.   OpenMaster()
  778.   
  779.   set gTraningArry1 = []
  780.   set gTraningArry2 = []
  781.   set gTraningArry3 = []
  782.   set gTraningArry4 = []
  783.   set gTraningArry5 = []
  784.   set gTraningArry6 = []
  785.   
  786.   repeat while 1
  787.     
  788.     set ptr = random(the number of lines in gWorkTable )
  789.     set flag = char traning of item 8 of line ptr of gWorkTable
  790.     
  791.     if flag = "1" then
  792.       DevideWord(traning,ptr)
  793.       set qcnt = qcnt - 1
  794.       if qcnt = 0 then exit repeat
  795.     end if
  796.     
  797.     delete line ptr of gWorkTable
  798.     
  799.   end repeat
  800.   
  801.   DataWrite(user,"TRE",traning)
  802.   
  803.   case traning of
  804.     1:  return gTraningArry1
  805.     2:  return gTraningArry2
  806.     3:  return gTraningArry3
  807.     4:  return gTraningArry4
  808.     5:  return gTraningArry5
  809.     6:  return gTraningArry6
  810.   end case
  811.   
  812.   
  813. end
  814.  
  815.  
  816. --*****************************************************
  817. --ナ@ナ@îƒópノfナ[ノ^鯡ìæ
  818. --********************************
  819. on GetCustomData user,fname
  820.   
  821.   set arry = []
  822.   set fname = path() & "USER" & string(user) & delimita() & fname
  823.   set res = fcOpenR(fname)
  824.   if res <> 0 then
  825.     return arry
  826.     exit
  827.   end if
  828.   set arry = StringToArry(fcRead())
  829.   fcClose()
  830.   
  831.   return arry
  832.   
  833. end
  834.  
  835. --*****************************************************
  836. --ナ@ナ@îƒópノfナ[ノ^ï\ëð
  837. --********************************
  838. on SetCustomData user,arry,fname
  839.   
  840.   set fname = path() & "USER" & string(user) & delimita() & fname
  841.   set res = fcOpen(fname)
  842.   if res <> 0 then
  843.     alert "îƒópノtノ@ノCノ翹Iナ[ノvノìノGノ簀["
  844.     exit
  845.   end if
  846.   set res = fcWrite(ArryToString(arry))
  847.   fcClose()
  848.   
  849. end
  850.  
  851.